Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement reverseProxy directive (#240) #2020

Closed
wants to merge 8 commits into from

Conversation

nrktkt
Copy link
Contributor

@nrktkt nrktkt commented May 16, 2018

Work in progress to resolve #240
Lots of credit to #324

still need to

  • implement Via header (how important is this actually for a first version?)
  • add tests
  • add more magnets
  • provide javadsl (how important is this for a first version?)

@nrktkt
Copy link
Contributor Author

nrktkt commented May 16, 2018

@leachbj @2Beaucoup
if you're interested

@akka-ci
Copy link

akka-ci commented May 16, 2018

Thank you for your pull request! After a quick sanity check one of the team will reply with 'OK TO TEST' to kick off our automated validation on Jenkins. This compiles the project, runs the tests, and checks for things like binary compatibility and source code formatting. When two team members have also manually reviewed and (perhaps after asking for some amendments) accepted your contribution, it should be good to be merged.

For more details about our contributing process, check out CONTRIBUTING.md - and feel free to ask!

@ktoso
Copy link
Member

ktoso commented May 17, 2018

OK TO TEST

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed validating PR that is currently being validated by Jenkins labels May 17, 2018
@akka-ci
Copy link

akka-ci commented May 17, 2018

Test FAILed.

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed needs-attention Indicates a PR validation failure (set by CI infrastructure) validating PR that is currently being validated by Jenkins labels May 17, 2018
@akka-ci
Copy link

akka-ci commented May 17, 2018

Test FAILed.

@nrktkt
Copy link
Contributor Author

nrktkt commented May 17, 2018

Is there a way to run mimaReportBinaryIssues locally for a specific scala version?

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed needs-attention Indicates a PR validation failure (set by CI infrastructure) validating PR that is currently being validated by Jenkins labels May 17, 2018
@akka-ci
Copy link

akka-ci commented May 17, 2018

Test FAILed.

@raboof
Copy link
Member

raboof commented May 17, 2018

Does sbt ++2.12.6 mimaReportBinaryIssues do the trick?

@nrktkt
Copy link
Contributor Author

nrktkt commented May 17, 2018

Is the current binary incompatibility failure on 2.11 OK? If not, why isn't it present on 2.12, and what's the right way to fix?

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed needs-attention Indicates a PR validation failure (set by CI infrastructure) validating PR that is currently being validated by Jenkins labels May 19, 2018
@akka-ci
Copy link

akka-ci commented May 19, 2018

Test FAILed.

@raboof
Copy link
Member

raboof commented Jan 25, 2019

@kag0 We recommend people to import the directives with akka.http.scaladsl.server.Directives._ (scala) or import static akka.http.javadsl.server.Directives.*; (java).

The Scala Directives mixes in all actual directive implementations as traits like you already found.

Java unfortunately does not have multiple inheritance like this, so instead we create a 'chain' of implementations all extending each other. To add your directives to the 'bottom of the chain' like in Scala, extend your new API's at https://github.com/akka/akka-http/blob/master/akka-http/src/main/scala/akka/http/javadsl/server/Directives.scala#L14, and have them extend the FramedEntityStreamingDirectives to connect to the rest of the chain.

Does that make sense?

@raboof
Copy link
Member

raboof commented Jan 25, 2019

(travis still catches a compile error when compiling with 2.11, btw https://travis-ci.org/akka/akka-http/builds/478845890#L639)

fix 2.11 compile issues
@nrktkt
Copy link
Contributor Author

nrktkt commented Jan 30, 2019

That makes sense, took care of the 2.11 issue as well.

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed needs-attention Indicates a PR validation failure (set by CI infrastructure) validating PR that is currently being validated by Jenkins labels Jan 30, 2019
@akka-ci
Copy link

akka-ci commented Jan 30, 2019

Test FAILed.

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed needs-attention Indicates a PR validation failure (set by CI infrastructure) validating PR that is currently being validated by Jenkins labels Feb 12, 2019
@akka-ci
Copy link

akka-ci commented Feb 12, 2019

Test FAILed.

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed needs-attention Indicates a PR validation failure (set by CI infrastructure) validating PR that is currently being validated by Jenkins labels Mar 5, 2019
@akka-ci
Copy link

akka-ci commented Mar 5, 2019

Test FAILed.

@akka-ci akka-ci added validating PR that is currently being validated by Jenkins needs-attention Indicates a PR validation failure (set by CI infrastructure) and removed needs-attention Indicates a PR validation failure (set by CI infrastructure) validating PR that is currently being validated by Jenkins labels Mar 5, 2019
@akka-ci
Copy link

akka-ci commented Mar 5, 2019

Test FAILed.

@raboof
Copy link
Member

raboof commented Jun 18, 2019

Closing due to inactivity - feel free to reopen when work on this continues!

@raboof raboof closed this Jun 18, 2019
@nrktkt
Copy link
Contributor Author

nrktkt commented Aug 25, 2019

Looking back through here and it seems there's a lot of interest and even some SWIM using it in production. I should get back on the horse and get this merged.

Where did we leave off? Seems like things should be compiling on 2.11, we have the java api, we might feel OK ignoring the MiMa error. Anything I'm missing?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-attention Indicates a PR validation failure (set by CI infrastructure)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add reverseProxy directive
7 participants